package com.yc.thread.pro1_matrix.row;

import com.yc.thread.pro1_matrix.individual.ParalleIndividualMultiplier;
import com.yc.thread.pro1_matrix.single.MatrixGenerator;

/**
 * @author zwei
 * @create 2024-07-17 16:07
 */
public class Test3_ParalleRowMain {
    public static void main(String[] args) {
        //生成两个矩阵
        double [][]matrix1= MatrixGenerator.generate(2000,2000);
        double [][]matrix2=MatrixGenerator.generate(2000,2000);
        //结果矩阵
        double [][]result=new double[matrix1.length][matrix2[0].length];
        long stat,end;
        stat=System.currentTimeMillis();
//        SerialMultiplier.multiplt(matrix1,matrix2,result);  //单线程计算矩阵乘法
//        ParalleIndividualMultiplier.multiplt(matrix1,matrix2,result);//每个元素一个线程计算矩阵乘法
        ParalleRowMultiplier.multiplt(matrix1,matrix2,result);
        end=System.currentTimeMillis();
        System.out.println("细粒度版———按结果矩阵行生成任务版本：计算矩阵乘法的时间："+(end-stat));
    }
}
